home *** CD-ROM | disk | FTP | other *** search
/ JCSM Shareware Collection 1996 September / JCSM Shareware Collection (JCS Distribution) (September 1996).ISO / prgtools / pbvl010.zip / WINDOW.BI < prev   
Text File  |  1994-02-10  |  8KB  |  192 lines

  1. ' PB/VISION(tm) LITE - (c) Copyright 1994 DSE Software Publishing
  2. ' SHAREWARE EVALUATION VERSION
  3.  
  4. $DYNAMIC
  5. DEFINT A-Z
  6.  
  7. ' APP FLAGS
  8.  
  9. %TITLEBAR = &H100
  10. %MENUBAR = &H8
  11. %STATUSBAR = &H8000
  12.  
  13. ' WINDOW FLAGS
  14.  
  15. %AUTOCLOSE = &H2000
  16. %AUTOSCROLL = &H8000
  17. %BOTTOMBAR = &H80
  18. %CONTROL = &H200
  19. %DRAGBAR = &H800
  20. %HSCROLLBAR = &H20
  21. %MINMAX = &H400
  22. %NOHORZBORDER = &H2
  23. %NOVERTBORDER = &H8
  24. %NOCOLOR = &H1000
  25. %NOHIDE = &H4000
  26. %NOSELECT = &H40
  27. %RESIZE = &H4
  28. %SHADOW = &H1
  29. %VSCROLLBAR = &H10
  30.  
  31. %ISWINDOW = &H1
  32. %ISPOPMENU = &H2
  33. %ISFORM = &H4
  34. %ISPULLMENU = &H8
  35.  
  36. TYPE winTYPE
  37.  row AS BYTE            ' screen position where window is displayed
  38.  col AS BYTE
  39.  rows AS BYTE            ' dimensions of the displayed text portion of window
  40.  cols AS BYTE
  41.  orows AS BYTE            ' window text dimensions before re-sizing
  42.  ocols AS BYTE
  43.  vrow AS BYTE            ' starting positions of viewport into window
  44.  vcol AS BYTE
  45.  vrows AS BYTE            ' actual virtual dimensions of window
  46.  vcols AS BYTE
  47.  winattr AS BYTE        ' default color attribute of window contents
  48.  borderattr AS INTEGER        ' attribute of window border
  49.  titleattr AS BYTE        ' attribute of window title
  50.  border AS BYTE            ' border style
  51.  titleLen AS BYTE        ' length of title string
  52.  Title AS STRING * 40        ' text of window title
  53.  vbarPos AS BYTE        ' window scrollbar guage (1% to 100%)
  54.  hbarPos AS BYTE
  55.  flags AS INTEGER        ' flags used when window opened
  56.  winmode AS BYTE        ' INTERNAL - DO NOT CHANGE
  57.  UserObject AS INTEGER        ' User Object Pointer
  58.  unused2 AS INTEGER        ' FUTURE USE
  59.  WI AS BYTE            ' window position relative to top most window
  60.  ObjPtr AS INTEGER        ' handle of attached window object code
  61.  internal1 AS BYTE        ' current item position (if menu or form)
  62.  signature AS INTEGER        ' signature of window
  63.  cpos AS INTEGER        ' encoded window cursor position (see WINLOCATE)
  64.  cattr AS BYTE            ' current window print attribute (see WINCOLOR)
  65.  bufferHandle AS INTEGER    ' handle of window buffer
  66.  changed AS BYTE        ' flag indicating window needs to be refreshed
  67.  unused3 AS INTEGER        ' FUTURE USE
  68.  listPtr AS INTEGER        ' top of list (if list style routine)
  69.  winProcOff AS INTEGER        ' seg/off address of attached PB/VISION driver(s)
  70.  winProcSeg AS INTEGER
  71.  winUserfOff AS INTEGER        ' seg/off address of attached user code
  72.  winUserSeg AS INTEGER
  73.  srows AS BYTE            ' screen dimensions of the displayed of window
  74.  scols AS BYTE
  75. END TYPE
  76.  
  77. TYPE appTYPE
  78.  attr AS BYTE            ' fill-pattern color
  79.  Pattern AS BYTE        ' background fill-pattern
  80.  titleattr AS BYTE        ' color of program title (if enabled)
  81.  Title AS STRING * 80        ' text of program title (if enabled)
  82.  menuAttr AS BYTE        ' color of menu bar
  83.  statusAttr AS BYTE        ' color of status bar
  84.  internal1 AS BYTE        ' DO NOT CHANGE
  85.  rows AS BYTE            ' screen rows
  86.  flags AS INTEGER        ' aplication initialization flags
  87.  graphicsMouse AS BYTE        ' DO NOT CHANGE
  88.  internal4 AS BYTE        ' DO NOT CHANGE
  89.  internal5 AS BYTE        ' DO NOT CHANGE
  90.  videoSeg AS INTEGER        ' DO NOT CHANGE
  91.  videoOff AS INTEGER        '    ""
  92.  videoHeight AS INTEGER        '    ""
  93.  videoWidth AS INTEGER        '    ""
  94.  videoLength AS INTEGER        '    ""
  95.  winRow AS BYTE            '    ""
  96.  winRows AS BYTE        '    ""
  97.  winOffset AS INTEGER        '    ""
  98.  forceRefresh AS BYTE        '    ""
  99.  titleRow AS BYTE        '    ""
  100.  menuRow AS BYTE        '    ""
  101.  graphicsMode AS BYTE        ' 0 = text, 1 = graphics
  102. END TYPE
  103.  
  104. TYPE menucolorTYPE
  105.  kolor AS INTEGER
  106.  borderattr AS INTEGER
  107.  titleattr AS BYTE
  108.  highlight AS INTEGER
  109.  sepbar AS BYTE
  110.  cursor AS BYTE
  111.  border AS BYTE
  112.  flags AS INTEGER
  113. END TYPE
  114.  
  115. DECLARE FUNCTION attr% (BYVAL fore%, BYVAL back%)
  116.  
  117. DECLARE SUB appClose ()
  118. DECLARE SUB appInit ()
  119. DECLARE SUB appPause ()
  120. DECLARE SUB appRefresh ()
  121. DECLARE SUB appResume ()
  122. DECLARE SUB appTitle (BYVAL kolor%, title$)
  123. DECLARE FUNCTION VideoBoard% ()
  124. DECLARE SUB winClose (BYVAL winHandle%)
  125. DECLARE SUB winCLS (BYVAL winHandle%)
  126. DECLARE SUB winColor (BYVAL winHandle%, BYVAL kolor%)
  127. DECLARE FUNCTION winCopy% (BYVAL winHandle%)
  128. DECLARE SUB winCursor (BYVAL winHandle%, BYVAL row%, BYVAL col%)
  129. DECLARE SUB winDeleteLine (BYVAL winHandle%, BYVAL LineNo%)
  130. DECLARE SUB winDrawBox (BYVAL winHandle%, BYVAL row%, BYVAL col%, BYVAL rows%, BYVAL cols%, BYVAL kolor%, BYVAL border%)
  131. DECLARE SUB winFill (BYVAL winHandle%, BYVAL row%, BYVAL col%, BYVAL rows%, BYVAL cols%, BYVAL kolor%, BYVAL c%)
  132. DECLARE SUB winGetInfo (BYVAL winHandle%, win AS winTYPE)
  133. DECLARE SUB winGrab (BYVAL winHandle%)
  134. DECLARE SUB winHide (BYVAL winHandle%)
  135. DECLARE SUB winHotPrint (BYVAL winHandle%, BYVAL row%, BYVAL col%, BYVAL Attr1%, text$)
  136. DECLARE SUB winInsertLine (BYVAL winHandle%, BYVAL LineNo%)
  137. DECLARE SUB winInstallCode (BYVAL winHandle%, BYVAL segment%, BYVAL offset%)
  138. DECLARE SUB winLocate (BYVAL winHandle%, BYVAL row%, BYVAL col%)
  139. DECLARE SUB winLock (BYVAL handle%)
  140. DECLARE SUB winMain (BYVAL winHandle%)
  141. DECLARE SUB winMinimize (BYVAL winHandle%)
  142. DECLARE SUB winMaximize (BYVAL winHandle%)
  143. DECLARE SUB winNormalize (BYVAL winHandle%)
  144. DECLARE SUB winModify (BYVAL winHandle%, BYVAL kolor%, BYVAL border%, BYVAL borderKolor%, BYVAL titleKolor%, BYVAL flags%)
  145. DECLARE SUB winMove (BYVAL winHandle%, BYVAL row%, BYVAL col%)
  146. DECLARE SUB winNext ()
  147. DECLARE FUNCTION winOpen% (BYVAL rows%, BYVAL cols%, BYVAL kolor%, BYVAL border%, BYVAL borderKolor%, Title$, BYVAL titleKolor%, BYVAL flags%)
  148. DECLARE FUNCTION winPopup% (BYVAL row%, BYVAL col%, BYVAL rows%, BYVAL cols%, BYVAL kolor%, BYVAL border%, BYVAL borderKolor%, Title$, BYVAL titleKolor%, BYVAL flags%)
  149. DECLARE SUB winPos (BYVAL winHandle%, row%, col%)
  150. DECLARE SUB winPrev ()
  151. DECLARE SUB winPrint (BYVAL winHandle%, BYVAL row%, BYVAL col%, BYVAL kolor%, text$)
  152. DECLARE SUB winPrintV (BYVAL winHandle%, BYVAL row%, BYVAL col%, BYVAL kolor%, text$)
  153. DECLARE SUB winRecolor (BYVAL winHandle%, BYVAL kolor%)
  154. DECLARE SUB winRefresh (BYVAL winHandle%)
  155. DECLARE SUB winRefreshMode (BYVAL mode%)
  156. DECLARE SUB winResize (BYVAL winHandle%, BYVAL rows%, BYVAL cols%)
  157. DECLARE SUB winScrollBarGet (BYVAL winHandle%, vpos%, hpos%)
  158. DECLARE SUB winScrollBarSet (BYVAL winHandle%, BYVAL vpos%, BYVAL hpos%)
  159. DECLARE SUB winSet (BYVAL winHandle%)
  160. DECLARE SUB winSetInfo (BYVAL winHandle%, win AS winTYPE)
  161. DECLARE SUB winShow (BYVAL winHandle%, BYVAL row%, BYVAL col%, BYVAL rows%, BYVAL cols%)
  162. DECLARE SUB winSwapColor (BYVAL winHandle%, BYVAL oldKolor%, BYVAL newKolor%)
  163. DECLARE SUB winTitle (BYVAL winHandle%, BYVAL kolor%, Title$)
  164. DECLARE SUB winViewPort (BYVAL winHandle%, BYVAL row%, BYVAL col%)
  165. DECLARE FUNCTION winWho% (BYVAL row%, BYVAL col%, wrow%, wcol%)
  166. DECLARE SUB winWrite (BYVAL winHandle%, text$)
  167. DECLARE SUB winWriteChar (BYVAL winHandle%, BYVAL char%)
  168. DECLARE SUB winWriteLn (BYVAL winHandle%, text$)
  169.  
  170.  DIM app AS appTYPE
  171.  DIM tempWin AS winTYPE
  172.  DIM refreshEnable AS INTEGER, lockWinP AS BYTE
  173.  DIM WI AS INTEGER, WINGET AS INTEGER, topWinBufH AS INTEGER, currentWinH AS INTEGER
  174.  DIM currentWinS AS INTEGER, currentWinO AS INTEGER
  175.  DIM currentWinLen AS INTEGER, currentWinChars AS INTEGER, currentWinCols AS INTEGER
  176.  DIM pbvvideoseg AS INTEGER, pbvvideooff AS INTEGER
  177.  
  178. $IF %ISPBU
  179.  EXTERNAL app, tempWin
  180.  EXTERNAL refreshEnable, lockWinP
  181.  EXTERNAL WI, WINGET, topWinBufH, currentWinH, currentWinS, currentWinO, currentWinLen, currentWinChars, currentWinCols
  182.  EXTERNAL pbvvideoseg, pbvvideooff
  183. $ELSE
  184.  PUBLIC app, tempWin
  185.  PUBLIC refreshEnable, lockWinP
  186.  PUBLIC WI, WINGET, topWinBufH, currentWinH, currentWinS, currentWinO, currentWinLen, currentWinChars, currentWinCols
  187.  PUBLIC pbvvideoseg, pbvvideooff
  188.  
  189.  $LINK "PBVLITE.PBL"
  190.  
  191. $ENDIF
  192.